package util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FlieUtil {
	
	
	public  static void createFile(String filePath) throws IOException{
		File cc=new File(filePath);
		File parentFile = cc.getParentFile();
		if(!parentFile.exists()){
			
			parentFile.mkdirs();
		}
		cc.createNewFile();
	}

	
	/**
	 * 
	 * 把目标字符串写到文件中
	 * @param target 目标字符串
	 * @param filePath 文件的路径
	 */
	public  static void write(String target,String filePath) {
		
		//创建一个文件输出流对象 并且作为参数传给FileoutputStream
		FileOutputStream fos=null;
		try {
			//创建一个file的对象：指明字符串输出的地址
			File file=new File(filePath);
			
			fos = new FileOutputStream(file);
			
			byte[] b=target.getBytes();
			
			//看api看方法及返回值
			fos.write(b);
		
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			
			if(null!=fos){
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	/**
	 * 读取文件
	 * @param path 文件的路径
	 * @return 文件的内容
	 * @throws IOException
	 */
	public static String read(String path) throws IOException{
		
		StringBuffer jg=new StringBuffer();
		//new File对象  让这个对象指向要操作的文件
		File a=new File(path);
		
		//创建一个输入流的对象，并且这个流指向具体的
		FileInputStream fis=new FileInputStream(a);
		
		//调用fis的具体方法
		byte[] b=new byte[4];
	
		int len;
		while((len=fis.read(b))!=-1){
			
			String j=new String(b,0,len);
			jg.append(j);
		}
		if(null!=fis){
			fis.close();
		}
		return jg.toString();
	}
	
	
	/**
	 * 添加内容
	 * @param path 文件路径
	 * @param addString 添加的内容
	 * @throws Exception
	 */
	public static void appendWrite(String path,String addString) throws Exception{
		
		File file=new File(path);
		
		String read=util.FlieUtil.read(path);
		
		String n=read+addString;
	    util.FlieUtil.write(n, path);
	    
	}
}
